package com.dream.system.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import net.sf.json.JSONArray;

import com.dream.model.SysUser;
import com.dream.model.Sys_Class;
import com.dream.model.Sys_Lable;
import com.dream.model.Sys_LearnPlant;
@SuppressWarnings("all")
public interface ISysUser
{

	/**
	 * 增加一个账号
	 * @param model
	 * @return
	 */
	int addUser(SysUser model);

	/**
	 * 按用户的类型来查询用户,和自的一些属性来查询用户
	 * @param i
	 * @param j
	 * @return
	 */
	
	Map getAllUser(String userType1, String userType2,SysUser model);

	/**
	 * 删除用户
	 * @param string
	 * @return
	 */
	int deleteUser(String string);

	/**
	 * 启用和禁用用户
	 * @param allId
	 * @param flag
	 * @return
	 */
	int deleteDisUser(String allId, String flag);
   /**
    * 查询这个学校，这个班的老师
    * @param model
    * @return
    */
	Map getClassTeacher(Sys_Class model);
	/**
	    * 查询这个学校，这个班的学生
	    * @param model
	    * @return
	    */
	Map getClassStudent(Sys_Class model);

	   /**
	    * 查询这个学校，这个班的老师
	    * @param model
	    * @param state 表示当前这个老师0，表示离去的，1表示在职的
	    * @return
	    */
	Map getStudentInfo(SysUser model,String state);
	/**
	 * 查询一个人员有基本信息
	 * @param model
	 * @return
	 */
	SysUser getStudentBaicInfo(SysUser model);

	/**
	 * 用户登陆
	 * @param model
	 * @param request
	 * @return
	 */
	int getUserlogin(SysUser model, HttpServletRequest request);
	/**
	 * 查询老师所有教过的班
	 * @param model
	 * @return
	 */
	Map getTeacherClass(SysUser model);
	/**
	 * 查询学生上过的班
	 * @param sysUser
	 * @return
	 */
	Map getStudentClass(SysUser sysUser);
	/**
	 * 查询学生当前在教的老师信息
	 *  
	 */
	Map getStudent_Teacher_C(SysUser model);
	/**
	 * 得到一个班的学生
	 * @param model
	 * @return
	 */
	Map getTeacherClassStudent(Sys_Class model,String jie);
	
	/**
	 * 
	 * 查询用户信息
	 * @param model
	 * @return
	 */
	SysUser getUserInfo(SysUser model);
	/**
	 * 
	 * 按手机号码查询详细信息
	 * @param model
	 * @return
	 */
	SysUser byTellInfo(SysUser model);
	/***
	 * 查询用户当前所能查看到的科目
	 * 
	 * @param model
	 * @return
	 */
	List<Sys_LearnPlant> getByKeMu(SysUser model);
	/**
	 * 查询当前人所在的班，在用的班
	 * @param model
	 * @return
	 */
	List getListClassRoom(SysUser model);
	/**
	 * 
	 * 查询所有的集团下级
	 */
	Map getListLv(String str);
	/**
	 * 
	 * 查询每一级备课计划
	 * @param str
	 * @return
	 */
	Map getListLvKeMu(String str);

	/**
	 * 查询专家标签的每一级
	 * 
	 */
	Map getZJlable(String str); 
	/**
	 * 查询个人的标签
	 * @param model
	 * @return
	 */
	List getMyLable(SysUser model);
	/**
	 * 
	 * 查询这一级labe标签，
	 * @param str
	 * @return
	 */
	Sys_Lable getLableBylableId(String str);
	/**
	 * 用户加分
	 * @param listu
	 * @param listl
	 * @return
	 */
	int addStudentFen(List<SysUser> listu, List<Sys_Lable> listl,int fen);
	/**
	 * 增加一个用户
	 * @param model
	 * @return
	 */
	SysUser addUser1(SysUser model);
	/**
	 * 查询当前在值的老师
	 * @param sc
	 * @return
	 */
	List<SysUser> getClassTeacherCurrrt(Sys_Class sc);
	/**
	 * 查询用户标签
	 * @param user_table_id
	 * @return
	 */
	JSONArray getUserLable(String user_table_id); 
	 

	 

}
